package thread;

/**
 * 线程优先级
 * 线程有10个优先级分别用1-10标识
 * 1是最低
 * 10是最高
 * 5是默认值
 * 当一个线程调用start方法后便纳入到被统一管理。线程只能被动的被分配时间片
 * 并发运行，不能主动索取时间片。通过调取整个线程的优先级可以最大程度的改变获取时间片
 * 的概率
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread() {
            @Override
            public void run() {
                for (int i = 0; i < 100000; i++) {
                    System.out.println("min!");
                }
            }
        };
        Thread norm = new Thread() {
            public void run() {
                for (int i = 0; i < 10000; i++) {
                    System.out.println("nor");
                }
            }
        };
        Thread max = new Thread() {
            public void run() {
                for (int i = 0; i < 10000; i++) {
                    System.out.println("max");
                }

            }
        };
        min.setPriority(1);//设置优先级
        max.setPriority(10);
        min.start();
        norm.start();
        max.start();
    }
}
